package com.demo.understandmvc.控制器增强.initBinder;

import java.util.Date;

import org.springframework.format.datetime.DateFormatter;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class InitBindController {

	@InitBinder
	public void initBinder(WebDataBinder binder) {
		// 添加yyyy-MM-dd类型的格式化工具
		binder.addCustomFormatter(new DateFormatter("yyyy-MM-dd"));
	}

	@GetMapping("/initBinder")
	// 对于date类型，只支持默认的标准格式，即英文格式，但并不符合中文习惯，这时需要通过字符串转换为自定义的java类型，在这种场景下，都需要对WebDataBinder进行增强
	public String initBinderAdvice(Date date) {
		// 通过请求参数date获取时间
		System.out.println(date);
		return date.toString();
	}

}
